þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ ß ßßßßÛßßßÛ ÛßÛ ÛßÛÜ ÛßÛßßÜ ÛßßßßÛßßÜ Û Û Û Û Û Û Û Û Û Û Û Û Û Û ÛÜÜÛ Û Û Û Û Û Û Û ÛÜÜ ÛÜÜß Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û ÛÜÜÛ Û ÛÛ ÛÜÜß ÛÜÜÜ Û Û Û Û Û Û Ü Û Ü Þ Û Û Û Ü Û Þ ÝÞ ÝÞÞ Þ ÛÝ ÛÝÛÛ Þ Ý Ý Þ Þ Þ ÝÞ Ý Þ Û Û Û Û þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ THUNDER ZONE 1.0 Documentation þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 1/ Introduction 2/ System Requirements 3/ Installing 4/ Running the game and setting up 5/ Playing the game 6/ General Comments þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 1/ Introduction þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ This concept behind this game came from an ancient classic PC game called "SpaceWar". The idea behind the 'over the modem' idea was originally thought of by Peter Cellik (Sphinx) sometime in 1990. Sphinx's efforts to make a better "SpaceWar" culminated in a prototype game called "WarSpace", which was never released. A similar type of game to WarSpace which was not an 'over-the-modem' game was released by myself called "HarshGame". HarshGame was definitely a first-generation game for me, but I think it made it as far as some CD-ROMs that are full of PD software, although I'm not sure. In an effort to enhance "HarshGame", I wrote a next-chapter game called "HarshGame II : The second conflict", which was a game modelled after Star Control, but where both players had half the screen (left/right) and could fly around and shoot at each other. This game was never finished, although I think I uploaded it to a programming board somewhere with full source code. Thunder Zone is an expansion and an enhancement on the original concept, with some new ideas added that I thought were cool. I hope you enjoy it. Many hours of programming/tweaking/debugging have gone on to get the game to this state. þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 2/ System Requirements þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ DO NOT RUN THE GAME FROM A FLOPPY DISK. Thunder Zone loads data from the disk on the fly and running the game from a floppy will slow it down. Also, you MAY experience program delays at some points if you use some types of disk compression programs. The game seems to run fine with DoubleSpace and Stacker, but I haven't tested other programs. The game requires at least 550k of free base memory at the DOS prompt, less if you have a Gravis UltraSound card. If you are not sure of how much memory you have available, run the DOS 'MEM' program. The game doesn't care about EMS or XMS memory or drivers for them since it doesn't use any memory above 1 meg. The game will refuse to run under Windows or DesqView, so don't try it. It is not recommended, but the game WILL run under OS/2 2.0 and above in a full- screen DOS session. However, you must give the game EXCLUSIVE COM port access. If you don't you'll probably hang the DOS session during the initial load and set-up. Make sure that the video settings you use for the dos box (i.e. VIDEO_RETRACE_EMULATION) are set appropriately or you'll get major jitters while playing the game. Although you can use a SoundBlaster for low-quality sound effects, Thunder Zone was designed to be played with a Gravis UltraSound sound card. The Ultrasound provide 16-bit CD-quality sound with 32 digital voices at the same or lower price to lower-quality sound cards. Those people not owning an UltraSound will also not get the background music since no music at all is better than FM- synthesis. UltraSound users will hear a mix of 8 and 16-bit quality sounds at high sampling rates, as well as rockin' digital background music. To hear the accompanying music, you probably need to have 512k of RAM on your GUS. (Sorry, I could only squeeze so much into the thing!) You need to have a standard VGA graphics controller to play the game. If you don't have a VGA by now you are missing out on life. The game can be played with a Gravis PC GamePad, although you may find you prefer the keyboard. You MAY use another type of joystick, but it is not recommended and will be hard to use. The game uses ALL FOUR buttons on the GamePad - other joysticks probably don't support this type of functionality. Thunder Zone can be played over the modem or over a network between two people. If you play over the modem, the modem must be able to transmit and receive data at least at 2400 baud. If you used a lower baud rate, the game would become unbearably slow. There is no significant difference between playing at 9600 baud and playing at 14.4k, so I didn't bother adding options for faster speeds. þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 3/ Installing the game þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ If you are reading this document, then you have successfully decompressed the game files to a directory. The game can coexist with other files in the same directory. At least the following two files should be in the directory you decompressed the files into: TZONE.EXE 69,189 TZONE.MFF 1,191,101 The '.MFF' file is the core data file. TZONE will not run unless this data file is in the same directory as the EXE file, and the file is readable AND writeable. This means that if you place the game on a network drive, you must make sure that you have write access to the directory. þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 4/ Running the game and setting up þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ Running THUNDER ZONE is easy. Just type "TZONE" at the DOS prompt and press . If you want to run the game over a network, type "TZONE /network" instead - at which point you will be asked some questions in order to set up the game. The game will first initialize itself and check your machine's configuration. If you wish to use a Gravis Gamepad, you will be asked whether or not you wish to calibrate it. If you want to use the pad, you should choose to calibrate. Please note that the game is easiest to play using the keyboard. As was mentioned above, without an UltraSound with 512k of RAM on it you will probably not hear the background music as the game is playing. Once the brief title screens have been shown, you will be presented with the main menu. To select and change options in the game, you use the cursor keypad. The main menu has four choices: i) Options This choice can be used to change from using the keyboard to using the joystick. IF YOU DO NOT HAVE A JOYSTICK INSTALLED, YOU WILL NOT BE ABLE TO SELECT THE JOYSTICK OPTION . Also, UltraSound users can change the volume level of the background music and the sound effects. ii) Help and Credits This choice shows the credits for the game and displays the controls that are available to be used. If you are using a Gravis Gamepad instead of the keyboard, the following joystick movements and buttons are used instead: _____ || | \____||________ | __ GRAVIS \ | / \ GamePad B | | \__/ A C| |______________ D | \_____| Left : Rotate Left Button A : Fire Right : Rotate Right Button B : Special 2 Down : Brake Button C : Special 1 Button D : Thrust iii) Play over the Modem/Network If you started the game with the "/network" command line parameter, you will see a "Play over the Network" option. Otherwise, you will see a "Play over the Modem" option. If you are playing over a modem, you will see a 'modem set-up' screen where you can select and modify settings for your modem. At the bottom of the screen are three options, "Already Connected"; "Wait for a call"; and "Call enemy player". Whichever option you select, make sure that the modem settings are correct or unpredictable things can happen. The "Wait for a call" and "Call enemy player" options are self- explainatory. If you call or wait for a call, the modems will attempt to connect. If they cannot connect successfully, you will be returned to the main menu. If you wish to use another program like Telix or Procomm to connect with the other player, you can do so and then exit that program to DOS before running Thunder Zone. Just pick the 'Already connected' option. The only requirement is that the terminal program does not hang up the modem or drop the DTR signal. Also, make sure that the settings you use in the terminal program exactly match the ones you use in Thunder Zone. NOTE: Thunder Zone only uses three different baud rates to set up the modem: 2400, 9600, and 38400. Using another baud rate externally and then trying to run the game will not work. After successfully connecting via modem or if you are playing over a network, you will be placed into a 'chat' mode, where you can talk to your enemy before starting each round. When you are ready to play you press F10. If you wish to stop playing, press ESC. Note that if you are playing over a modem, exiting from the chat screen will hang up the phone. If either player presses F10 at the chat screen, you will be placed into the weapon selection screen. Please see section 5 below for more information on this screen and on playing the game in general. iv) Play against the computer Selecting this option from the main menu will allow you to play against your computer at one of four different levels of difficulty: "Learn", "Easy", "Hard", and "Deadly". First time players should use the "Learn" option at least once or twice to get the feel of the controls (the enemy for this level is VERY stupid). The other levels increase in difficulty, with "Deadly" being the hardest I could make him while still allowing you to be able to kill him (I have done it, so you can too). þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 5/ Playing the game þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ Whoever you play against (another person or the computer), before each 'round' you will be asked to select two of eight possible 'extra weapons' that you can use. Some of the weapons require a keypress to activate, and some are active all the time. Here is a breakdown of the possible weapons and their specific abilities: Cloaking Device: This allows you to 'disappear' from your enemy's screen and radar; rendering you invisible. Note that your energy reserves will not charge up while you are cloaked unless you have selected "Turbo Recharge" as your other extra weapon. Attempting to fire while cloaked will disengage the cloaking device. Note that you are still visible while cloaking and decloaking, since the activity takes some time. See also the 'Cloak detector' ability below. Pressing the key for this ability will toggle the cloak on or off. Turbo Recharge: If you select this ability, it is active for the entire round - you do not need to press a key to activate it. This allows you to have your energy reserves charge at twice their normal rate. Power Shield: If you select this ability, it is active for the entire round - you do not need to press a key to activate it. This allows you to have a double-strength shield without an associated energy drain when transferring power to your shields. Mega Blasters: If you select this ability, it is active for the entire round - you do not need to press a key to activate it. This weapon is formidable, doubling the destructive power of your lasers. Cloak Detector: An anti-cloak device. Activating this weapon has a large drain on your energy reserves, but it shows your enemy's location on the radar and on your screen (if he is within range) for a brief period of time. For easy location, the enemy's position on the radar screen is accented with crosshairs. Proton Torpedoes: Hefty, hefty, hefty. These weapons have the highest damage yeild, but only fly straight and have a limited range. The torpedoes use your ship's computer for guidance, and the computer can only handle 7 of them flying at once. As soon as a torpedo impacts at it's target or detonates at maximum range, you can fire another one. Homing Missiles: These are the weapon of choice among most serious players. Like torpedoes, these are guided by your ship's computer. However, they will change their heading to point to your enemy's ship and pursue him relentlessly until they hit him. There is no maximum range to the missiles, but they will not track a cloaked enemy. Since the overhead on your ship's computer to calculate and update these missiles is great, you can only have 3 of them flying at any one time. However, if a missile hit's your enemy when he's not on you're screen, you will see a "Missile Hit" message, informing you that you can fire another one. Omni-Laser: If you select this ability, it is active for the entire round - you do not need to press a key to activate it. This weapons makes your lasers shoot in any direction, not just straight. If there is nothing within range, they will shoot straight but otherwise they will lock on to the enemy. Combined with mega-blasters (see above), this weapon is an extremely good short-range choice. Thunder Zone is easy to play. Basically, your ship is always shown at the center of your screen, with a 'radar map' of the area shown in the bottom right, and your ship's status shown at the bottom left. In the radar map, you will see two circles, representing the earth (blue) and the moon (grey). Your ship is shown as a white dot, and the enemy's ship is shown as a red dot. You can fly around the zone, and when you come to the edge, it 'wraps around' to the other side. The status display at the bottom left is simple: there are two bars - one indicating your energy reserves and one indicating your shield strength. As you can get from the discriptions of the extra weapons above, your energy reserves charge up as you play, but are drained by the usage of your lasers or your engines. Also, you can transfer power from your energy reserves to your shields. However, once you have transferred energy to the shields, you cannot transfer it back again. To transfer power, press the down arrow key. Thunder Zone can handle more than one key on the keyboard being pressed at once - so you can do more than one action at the same time. Also, in firing your lasers you don't have to release the fire button - you can hold it down for rapid-fire. If you haven't figured it out by now, the main idea of the game is to choose weapons to counter your enemy's choices, and then to destroy him if you can. In real life, the whole game is done in hyper-virtual-reality simulation, so nobody gets killed. :) þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ 6/ General Comments þÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄþ I hope this game gives you and your friends hours of fun and excitement - that's what I made it for. Given that the game is quite playable at 2400 baud and can run in a machine with just a small amount of memory, I don't see too many people not being able to play it. The game was written with some general goals in mind: 1. Make it fun. 2. Make it easy. 3. Make it look cool. 4. Make it sound cool. 5. Make it in ANY high-level language to demonstrate that with the languages and tools available these days, it doesn't matter which language you use. To satisfy #5, I chose to implement the game in Borland Pascal. Yes, Thunder Zone was written entirely in Borland Pascal 7 - 29,000 lines of it! I could have chosen to do it in C or Modula-2 just as easily, but I thought a type- checking fast compiler which produced quick code was better than giving myself a headache. The resulting EXE file has been compressed to avoid tampering. The network routines were all done by Bill Kloubek, who goes by a number of names. Bill's quite possibly the best network guy I've ever known. I used several programs in development, including GoldWave 2.0 (the absolute BEST sound editor for windows), DeluxePaint IIe, and a PD screen capture utility written by Sphinx called GRAB. All the other stuff for development I wrote myself, including the pascal version of the Gravis UltraSound SDK and the background MOD file player used by the game. I used a PD graphics library for the MODE-X graphics called XLIB, in a pascal implementation - although I had to fix it myself (Tristan Tarrant, the guy that did the port wasn't interested in answering my email -ppppphhhhhttt!!!). XLIB was originally written by Themie Gouthas and it totally rocks - many programmers use it for their graphics. A big high-ho goes to all the good european demo groups: you guys sure know your stuff! (I wish I had a 486 in high school - man, I could have made some great stuff all those weeknights I had nothing to do :( now I'm too busy): FUTURE CREW/RENAISSANCE/INFINITY/DELUSION/DUST/VLA Anybody who wants to send me email can do so at my Simon Fraser University address or my Advanced Gravis address: kurtt@sfu.ca kurt_kennett@gravis.com Have fun with the game!